package com.dsz.apibackend.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dsz.apibackend.common.DeleteRequest;
import com.dsz.apibackend.common.IdRequest;
import com.dsz.apibackend.model.dto.interfaceInfo.InterfaceInfoAddRequest;
import com.dsz.apibackend.model.dto.interfaceInfo.InterfaceInfoInvokeRequest;
import com.dsz.apibackend.model.dto.interfaceInfo.InterfaceInfoQueryRequest;
import com.dsz.apibackend.model.dto.interfaceInfo.InterfaceInfoUpdateRequest;
import com.dsz.apicommon.model.domain.InterfaceInfo;

import javax.servlet.http.HttpServletRequest;

/**
 * @author dushangzhi
 * @description 针对表【interface_info(接口信息表)】的数据库操作Service
 * @createDate 2024-03-14 13:41:55
 */
public interface InterfaceInfoService extends IService<InterfaceInfo> {

    Page<InterfaceInfo> pageInterfaceInfo(InterfaceInfoQueryRequest interfaceInfoQueryRequest);

    Long saveInterfaceInfo(InterfaceInfoAddRequest interfaceInfoAddRequest, HttpServletRequest request);

    boolean isAdmin(HttpServletRequest request);

    boolean updateInterfaceInfo(InterfaceInfoUpdateRequest interfaceInfoUpdateRequest, HttpServletRequest request);

    boolean deleteInterfaceInfo(DeleteRequest deleteRequest, HttpServletRequest request);

    boolean onlineInterfaceInfo(IdRequest idRequest, HttpServletRequest request);

    boolean offlineInterfaceInfo(IdRequest idRequest, HttpServletRequest request);

    Object invokeInterfaceInfo(InterfaceInfoInvokeRequest interfaceInfoInvokeRequest, HttpServletRequest request);
}
